home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 17 / CU Amiga Magazine's Super CD-ROM 17 (1997)(EMAP Images)(GB)[!][issue 1997-12].iso / CUCD / Programming / DiceSource / src / hunks / Dmakefile next >
Makefile  |  1993-12-30  |  4KB  |  135 lines

  1.  
  2. #   DMakefile for dutil
  3. #
  4. #   (c)Copyright 1992-1993 Obvious Implementations Corp, All Rights Reserved
  5. #
  6. #   Source to many utilities is provided as example code.  To make the source
  7. #   for a single utility you supply the full destination path, e.g. 
  8. #   'dmake dcc:bin/makeproto'
  9. #
  10. #   You may incorporate source code found here into your own programs
  11. #   as long as said programs serve a substantially different purpose
  12. #   then where source was taken from from.  For example, you
  13. #   could pull code from DOBJ when writing your own linker but you
  14. #   could NOT use code from DOBJ if you intend to write a disassembler.
  15. #
  16. #   There are a considerable number of targes in this DMakefile that I use
  17. #   to compile various intermediate versions of DICE and other binaries.
  18. #   You need only concern yourself with the default... a simple 'DMake'
  19. #   will suffice.
  20.  
  21.  
  22. SRCS=  hunks.c
  23.  
  24. RSRCS=     hunks.c
  25.  
  26.  
  27. MODULE= dutil
  28.  
  29. OD= dtmp:comp/$(MODULE)/
  30. OD1= dtmp:comp1/$(MODULE)/
  31. OD2= dtmp:comp2/$(MODULE)/
  32. ODC= dtmp:compc/$(MODULE)/
  33. ODR= dtmp:compr/$(MODULE)/
  34. ODF= dtmp:compf/$(MODULE)/
  35. ODN= /tmp/comp/$(MODULE)/
  36.  
  37. ODIRS= $(OD) $(OD1) $(OD2) $(ODC) $(ODR) $(ODF)
  38.  
  39. EXES= $(RSRCS:"*.c":"ram:*")
  40. EXES1= $(SRCS:"*.c":"dcc:bin/amiga/bin1/lc_*")
  41. EXES2= $(SRCS:"*.c":"dcc:bin/amiga/bin2/xc_*")
  42. EXESC= $(SRCS:"*.c":"dcc:bin/amiga/bincom/*")
  43. EXESR= $(SRCS:"*.c":"dcc:bin/amiga/binreg/*")
  44. EXESF= $(SRCS:"*.c":"dcc:bin/amiga/binfree/*")
  45. EXESN= $(SRCS:"*.c":"../bin/next/*")
  46.  
  47. CFLAGS= -ms -r -mRR -I$(ODR) -proto -DREGISTERED
  48. CFLAGS1= -iinclude: -idinclude: -i$(OD1) -v -dDEBUG -dNO_ASM
  49. CFLAGS2= -ms -r -I$(OD2) -DDEBUG -DREGISTERED -DCOMMERCIAL
  50. CFLAGSC= -ms -r -mRR -I$(ODC) -proto -DREGISTERED -DCOMMERCIAL
  51. CFLAGSR= -ms -r -mRR -I$(ODR) -proto -DREGISTERED
  52. CFLAGSF= -ms -r -mRR -I$(ODF) -proto -DFREEWARE
  53. CFLAGSN= -O2 -I.. -I$(ODN) -L../suplib -DREGISTERED -DCOMMERCIAL -DNO_ASM
  54.  
  55. OBJS = $(RSRCS:"*.c":"$(OD)*.o")
  56. OBJS1 = $(SRCS:"*.c":"$(OD1)*.o")
  57. OBJS2 = $(SRCS:"*.?":"$(OD2)*.o")
  58. OBJSC = $(SRCS:"*.?":"$(ODC)*.o")
  59. OBJSR = $(SRCS:"*.?":"$(ODR)*.o")
  60. OBJSF = $(SRCS:"*.?":"$(ODF)*.o")
  61. OBJSN = $(SRCS:"*.?":"$(ODN)*.o")
  62.  
  63. default: $(OD:"*/$(MODULE)/":"*") $(OD) $(EXES)
  64.  
  65. pass1: $(OD1:"*/$(MODULE)/":"*") $(OD1) $(EXES1)
  66.  
  67. pass2: $(OD2:"*/$(MODULE)/":"*") $(OD2) $(EXES2)
  68.  
  69. com: $(ODC:"*/$(MODULE)/":"*") $(ODC) $(EXESC)
  70.  
  71. reg: $(ODR:"*/$(MODULE)/":"*") $(ODR) $(EXESR)
  72.  
  73. free: $(ODF:"*/$(MODULE)/":"*") $(ODF) $(EXESF)
  74.  
  75. next: $(ODN) $(EXESN)
  76.  
  77. $(EXES) : $(OBJS)
  78.     dcc $(CFLAGS) %(right) -o %(left)
  79.  
  80. $(EXES1) : $(OBJS1)
  81.   blink FROM LIB:c.o %(right) LIB lib:lc.lib lib:amiga20.lib TO %(left) BATCH
  82.  
  83. $(EXES2) : $(OBJS2)
  84.     lc_dcc $(CFLAGS2) %(right) -o %(left)
  85.  
  86. $(EXESC) : $(OBJSC)
  87.     xc_dcc $(CFLAGSC) %(right) -o %(left)
  88.  
  89. $(EXESR) : $(OBJSR)
  90.     xc_dcc $(CFLAGSR) %(right) -o %(left)
  91.  
  92. $(EXESF) : $(OBJSF)
  93.     xc_dcc $(CFLAGSF) %(right) -o %(left)
  94.  
  95. $(EXESN) : $(OBJSN)
  96.     cc $(CFLAGSN) %(right) -o %(left) -lamiga
  97.     strip %(left)
  98.  
  99. $(OBJS) : $(RSRCS)
  100.     dcc $(CFLAGS) %(right) -o %(left) -c
  101.  
  102. $(OBJS1) : $(SRCS:"*.c")
  103.     lc $(CFLAGS1) -o%(left) %(right)
  104.  
  105. $(OBJS2) : $(SRCS)
  106.     lc_dcc $(CFLAGS2) %(right) -o %(left) -c
  107.  
  108. $(OBJSC) : $(SRCS)
  109.     xc_dcc $(CFLAGSC) %(right) -o %(left) -c
  110.  
  111. $(OBJSR) : $(SRCS)
  112.     xc_dcc $(CFLAGSR) %(right) -o %(left) -c
  113.  
  114. $(OBJSF) : $(SRCS)
  115.     xc_dcc $(CFLAGSF) %(right) -o %(left) -c
  116.  
  117. $(OBJSN) : $(SRCS)
  118.     cc $(CFLAGSN) %(right) -o %(left) -c
  119.  
  120. clean:
  121.     -delete $(ODIRS:*/:*) ALL
  122.  
  123. $(ODIRS:"*/$(MODULE)/":"*") : $(ODIRS:"*/$(MODULE)/":"*")
  124.     makedir %(left)
  125.  
  126. $(ODIRS) : $(ODIRS)
  127.     makedir %(left:*/:*)
  128.  
  129. $(ODN) : $(ODN)
  130.     mkdir %(left:*/:*)
  131.  
  132. clean_next:
  133.     -rm -rf $(OBJSN)
  134.  
  135.